home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / COM / MacWebLint 1.014 folder.sit / MacWebLint 1.014 folder / MacWebLint-1.014 / ChangeLog < prev    next >
Text File  |  1996-02-13  |  36KB  |  1,023 lines

  1.  
  2.             ChangeLog for WebLint
  3.  
  4. 1.014
  5.  
  6.     13-february-1996 neilb
  7.  
  8.     *    Weblint 1.014 released.
  9.  
  10.     12-february-1996 neilb
  11.  
  12.     *    The attribute checking code now allows percentage widths
  13.     if the netscape extension is enabled. For example: WIDTH=50%
  14.     Added a testcase, natch.
  15.  
  16.     10-february-1996 neilb
  17.  
  18.     *    The SIZE attribute is now accepted for the SELECT element.
  19.     Added a test case to the testsuite.
  20.  
  21.     *    Added support for the SCRIPT element if the netscape extension
  22.     is enabled.
  23.  
  24.     3-february-1996 neilb
  25.  
  26.     *    Released beta to weblint-victims.
  27.  
  28.     *    Created a file rc.new for the distribution, which is the part
  29.     of the sample weblintrc which is new with this version.
  30.     Suggested by Doug Grinbergs <dougg@qualcomm.com>.
  31.  
  32.     *    Added support for new netscape elements: FRAMESET, FRAME and NOFRAMES.
  33.     Added testcases for these.
  34.     Suggested by Jens Thordarson <thordurh@rhi.hi.is> and others.
  35.  
  36.     *    Added support for new netscape attributes:
  37.         TARGET attribute for A, BASE, AREA, and FORM elements
  38.         COLOR attribute for FONT element
  39.         WRAP attribute for TEXTAREA element
  40.     Also added an attribute format for the WRAP attribute.
  41.  
  42.     *    Changed the way netscape attributes are handled. Information about
  43.     netscape attributes used to be in two places -- an associative
  44.     array which holds regular expressions to check for the
  45.     'netscape attribute' warning, and the code in the AddExtension()
  46.     routine. Now the latter uses the former, which keeps things
  47.     in sync internally, and makes it easier to update.
  48.  
  49.     *    Added a new warning, 'attribute-format', which is generated for
  50.     badly formatted attribute values. For example:
  51.         <IMG SRC="foo.gif" ALIGN=MIDLE ALT="alt text">
  52.     will result in the warning:
  53.         f.html(4): illegal value for ALIGN attribute of IMG (MIDLE)
  54.     Code submitted by Axel Boldt <axel@uni-paderborn.de>.
  55.  
  56.     2-february-1996 neilb
  57.  
  58.     *    Added a blurb to the README and man page about certain versions of
  59.     perl having bugs which are triggered by weblint.
  60.     Suggested by Jeff Schave <schave@engr.wisc.edu>.
  61.  
  62.     *    Added a warning, 'bad-text-context', which warns if text appears
  63.     in certain illegal contexts, such as UL, HEAD, etc.
  64.     Added testcase to testsuite. At the moment the warning is given
  65.     with the line number of the line which contains the start of the
  66.     next element. For example:
  67.         <UL>
  68.         This is not legal
  69.         </UL>
  70.     This will generate a warning with the line number as the 3rd line,
  71.     rather than the third, as you might expect. The warning is enabled
  72.     by default.
  73.     Suggested by Richard Finegold <goldfndr@eskimo.com>.
  74.  
  75.     *    Fixed the extension handling code so you can specify multiple
  76.     extensions:
  77.         weblint -x netscape,java foo.html
  78.     Added a testcase for this. For this particular example, you could
  79.     argue that java should be automatically enabled if you enable
  80.     the netscape extension . . .
  81.     Suggested by a number of people, several of whom supplied patches.
  82.  
  83.     *    Added the LOWSRC attribute for IMG element when the netscape
  84.     extension is enabled. Added case to testsuite.
  85.     Patch from David Koblas <koblas@homepages.com>
  86.  
  87.     29-january-1996 neilb
  88.  
  89.     *    Added a new warning `heading-mismatch', which flags the common
  90.     mistake of closing a header with a different level tag. Eg:
  91.         <H2>Level two heading</H1>
  92.     This used to result in two warnings: one because no closing </H2>
  93.     was seen, and the other because </H1> was seen without a matching
  94.     prior <H1>. You now get one warning that the heading tags are
  95.     mismatched:
  96.         Malformed header - open tag is <H2>, but closing is </H1>
  97.     Modified the test case in the test suite. The warning is enabled
  98.     by default.
  99.  
  100. 1.013
  101.  
  102.     1-january-1996 neilb
  103.  
  104.     *    Changed the output format when running the testsuite to be more
  105.     terse, so everything stays on screen. You can always look at the
  106.     log file for greater verbosity.
  107.  
  108.     *    Added a function PickTmpdir() to the testsuite, which is used to
  109.     determine a valid temporary working directory. Previously the
  110.     testsuite assumed that /usr/tmp would be present, which is not true
  111.     on all systems.
  112.     Patch submitted by Charles F. Randall <crandall@dmacc.cc.ia.us>
  113.  
  114.     *    Updated the text at the head of the sample configuration file,
  115.     weblintrc, to clarify that the enable'd warnings in the file are
  116.     enabled by default, so you don't really have to enabled them in
  117.     your config file, unless you like explicitness.
  118.  
  119.     *    Added entry to weblintrc for variable 'directory-index'.
  120.  
  121.     21-december-1995 neilb
  122.  
  123.     *    Changed the default for the 'url-get' variable to be undefined,
  124.     rather than "lynx -source". This means that "weblint -todo" will
  125.     print the URL of the todo list, unless you explicitly set the
  126.     url-get variable.
  127.  
  128.     16-december-1995 neilb
  129.  
  130.     *    Added a warning 'literal-metacharacter', which warns about
  131.     metacharacters included literally, where they should be represented
  132.     using entities. Currently just warns about >. Warning is enabled by
  133.     default. Simple testcase added to testsuite.
  134.     Suggested by Michael P. Gerlek <gerlek@dat.cse.ogi.edu>
  135.  
  136.     *    The variable 'directory-index' can now be set to a comma-separated
  137.     list of filenames, if you want to allow multiple names for directory
  138.     index files, such as welcome.html or index.html. In your .weblintrc:
  139.         set directory-index = welcome.html, index.html
  140.     Suggested by Eric Maryniak <E.Maryniak@rgd.nl>.
  141.  
  142.     15-december-1995 neilb
  143.  
  144.     *    Fixed a bug in the testsuite for testcases where warnings are
  145.     expected. If you got more warnings than expected, but the extraneous
  146.     warnings were on the same line as expected warnings, then the
  147.     test was not marked as unsuccessful, as it should have been.
  148.  
  149.     *    Added a warning 'require-doctype', which if results in a warning if a
  150.     page does not have a DOCTYPE as the first element. Disabled by default.
  151.     Two cases added to testsuite. Not enabled with -pedantic.
  152.     Suggested by Larry Virden <lvirden@cas.org>
  153.  
  154.     *    Running "weblint -todo" will now pull down the latest todo list
  155.     from our ftp server if you have set the 'url-get' variable.
  156.     Otherwise it prints the URL of the webified version of the ToDo list.
  157.  
  158.     *    Reformatted the text displayed with the -help and -U switches,
  159.     so that it will fit on a standard sized tty or PC.
  160.     Suggested by Frank Steinke <fsteinke@zeta.org.au>
  161.  
  162.     *    Fixed bug related to container elements where the closing tag
  163.     is optional, such as LI. If a comment was the last thing,
  164.     then weblint would warn that the container was empty. E.g.
  165.         <UL>
  166.         <LI>line 9
  167.         <!-- line 10 -->
  168.         <LI>line 11
  169.         </UL>
  170.     Added regression test case to testsuite.
  171.     Reported by Mark Gates <mr-gates@uiuc.edu>
  172.  
  173.     10-december-1995 neilb
  174.  
  175.     *    Added a semi-colon to a single statement in an else clause,
  176.     which was apparently causing problems under perl 4.019.
  177.     Frank Steinke <fsteinke@zeta.org.au>
  178.  
  179.     *    The README was still claiming that weblint.ps was included with the
  180.     distribution. It now gives the URL for the copy on our ftp server.
  181.  
  182.     9-december-1995 neilb
  183.  
  184.     *    Added support for the netscape extensions added in netscape 2:
  185.         -    ENCTYPE attribute for FORM element
  186.         -    USEMAP attribute for IMG element (client side image maps)
  187.         -    MAP and AREA elements
  188.  
  189.     *    Removed the todo list from the weblint script. The -todo switch
  190.     now echoes the URL for the online todo list. Maybe in the future
  191.     weblint -todo will grab an ascii version from a web/ftp site,
  192.     and spit it out. This will keep the todo list current.
  193.  
  194.     *    Fixed a bug where enabling the java extension would also enable
  195.     the netscape extension.
  196.  
  197. 1.012
  198.  
  199.     9-december-1995 neilb
  200.     *    Added an EXTENSIONS section to the man page, which describes
  201.     the supported html extensions, and how to enable them.
  202.  
  203.     6-december-1995 neilb
  204.     *    Changed the way the symlink check works, so a single file is still
  205.     checked if it is a symlink and you specified -l, but you get a
  206.     warning to that effect.
  207.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  208.  
  209.     4-december-1995 neilb
  210.     *    If you give the -l switch and an explicit list of files, weblint
  211.     will now ignore any which are symlinks. If you give only one file,
  212.     specify -l, and the file is a symlink, then you get a warning that
  213.     the file is being ignored.
  214.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  215.  
  216.     3-december-1995 neilb
  217.     *    Created a web page version of the Artistic License, which is linked
  218.     to the weblint home page. Weblint -v also prints the URL of this page.
  219.  
  220.     *    Added support for the Java elements APPLET and PARAM,
  221.     as an extension 'java'. For weblint to accept the java elements:
  222.         % weblint -x java
  223.     or the following in your .weblintrc:
  224.         extension java
  225.     Added a testcase for a valid applet with param, and a testcase
  226.     which checks that PARAM appears in an APPLET.
  227.     Suggested by Jon Thackray <jrmt@uk.gdscorp.com>
  228.  
  229.     *    Changed the version string printed for the -v/-version switch,
  230.     so the following information is printed:
  231.          -    version of weblint
  232.          -    copyright me
  233.          -    weblint is covered by the artistic license, and where to get
  234.         a copy of the license.
  235.     Suggested by Eric de Mund <ead@ixian.com>
  236.  
  237.     *    Changed the way the testsuite determines the version of weblint,
  238.     so that it will work for old and new format version string.
  239.  
  240.     10-november-1995 neilb
  241.     *    Changed the pedantic option so that the bad link check is not
  242.     enabled, since it needs some work ;-)
  243.  
  244.     7-november-1995 neilb
  245.  
  246.     *    Added a warning, 'container-whitespace', which flags leading and
  247.     trailing whitespace for specific container elements, currently
  248.     A, TITLE, H1 through H6.
  249.     Suggested by Richard Finegold <goldfndr@eskimo.com>
  250.  
  251.     *    Added a -pedantic command-line switch, which turns on all warnings
  252.     except case-sensitive checking of element tags. This can be combined
  253.     with -e and -d to turn on or off specific warnings.
  254.  
  255.     *    Fixed bug in the testsuite where ExpectWARN() wouldn't flag a
  256.     failure if not all the expected warnings were seen, but all the
  257.     warnings seen were expected.
  258.  
  259.     *    Fixed the bug whereby a container element would be reported as
  260.     empty if the last thing in the container was a valid comment.
  261.     Reported by Craig Leres <leres@ee.lbl.gov> and others.
  262.  
  263.     29-july-1995 neilb
  264.  
  265.     *    We now check for the -v, -U, -help, -version, and -todo switches
  266.     before checking for a .weblintrc and reading the warning information.
  267.     Suggested by Richard Finegold <goldfndr@eskimo.com>.
  268.  
  269.     *    Added a warning `img-size' which suggests you set WIDTH and HEIGHT
  270.     attributes on IMG elements, since this can apparently improve
  271.     rendering time on some browsers.  Warning is disabled by default.
  272.     Suggested by Richard Finegold <goldfndr@eskimo.com>
  273.  
  274. 1.011
  275.  
  276.     28-july-1995 neilb
  277.  
  278.     *    Changed the Makefile so that weblint.ps is not included as part
  279.     of the distribution.  A postscript version of the man page is
  280.     available from a link on the weblint home page.
  281.  
  282.     26-july-1995 neilb
  283.  
  284.     *    Added a command-line switch -urlget, to specify the command which
  285.     weblint should use to pull down a URL.
  286.  
  287.     *    Added a warning, `attribute-delimiter', which warns about use of '
  288.     as a delimiter for attribute values, since this is not correctly
  289.     parsed by all browsers.
  290.  
  291.     *    Weblint now understands attribute values with are quoted with '...'
  292.     as well as "...".  Reported by Abigail <abigail@mars.ic.iaf.nl>
  293.  
  294.     25-july-1995 neilb
  295.  
  296.     *    Added a new warning, `netscape-attribute', which generates a
  297.     warning if you use netscape specific attributes for a
  298.     non netscape-specific tag.  For example:
  299.  
  300.         <BODY BGCOLOR="#fefefe">
  301.  
  302.     Previously this would generate an "unknown attribute" warning,
  303.     but you now get a warning that this is netscape specific, and
  304.     you should enable the netscape extension to suppress the warning.
  305.     Suggested out by Larry W. Virden <lvirden@cas.org>
  306.  
  307.     *    Added a weblint variable `message-style', which can be used to
  308.     specify the style of warning message to generate
  309.  
  310.         lint    (default)    lint-style warning messages
  311.         short    -s        short messages (no filename)
  312.         terse    -t        format for parsing (eg by testsuite)
  313.  
  314.     So for example, in the sample weblintrc:
  315.  
  316.         set message-style = lint
  317.  
  318.     Suggested by Philip Hallstrom <philip@wolfe.net>.
  319.  
  320.     *    Weblint will now check pages specified by URL, for example:
  321.  
  322.         weblint http://www.khoral.com/staff/neilb/weblint.html
  323.  
  324.     Weblint uses a 'url getter', which can be specified in your .weblintrc:
  325.  
  326.         # command to use to pull back URLs for checking
  327.         set url_get = httpget -nofollow
  328.  
  329.     *    Added a general feature for setting weblint variables in
  330.     the weblintrc.
  331.  
  332.     *    Added a warning, 'closing-attribute', which warns if you have
  333.     attributes for a closing tag of a container.  For example:
  334.  
  335.         <H1>This is a heading<H1 ALIGN=CENTER>
  336.  
  337.     20-july-1995 neilb
  338.  
  339.     *    Added a warning, `directory-index', which checks to see if every
  340.     directory has an index file when recursing.  By default the index
  341.     file is expected to be called `index.html', but this can be
  342.     over-ridden in your .weblintrc:
  343.  
  344.         directory-index home.html
  345.  
  346.     The warning is enabled by default.
  347.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  348.  
  349.     *    Added a new warning, `empty-container', which generates a warning if
  350.     you have an empty container element.  For example:
  351.  
  352.         <TITLE></TITLE>
  353.  
  354.     Added a testsuite case for this example.  It will also catch empty
  355.     optional container elements, such as:
  356.  
  357.         <UL>
  358.         <LI>blah
  359.         <LI>
  360.         <LI>blah blah
  361.         </UL>
  362.  
  363.     Added a test case for this as well.
  364.  
  365.     19-july-1995 neilb
  366.  
  367.     *    Added a -warnings switch, which tells weblint to list all
  368.     supported warnings, in the following format:
  369.  
  370.         <warning-id> ([ enabled | disabled ])
  371.             <test of warning message>
  372.  
  373.     Suggested by Tom Neff <tneff@panix.com>
  374.  
  375.     18-july-1995 neilb
  376.  
  377.     *    Added a warning `must-follow', which is used to check situations
  378.     where an element must immediately follow an other.  This checks:
  379.          -    Shouldn't have anything appearing between the HEAD and BODY
  380.         elements.
  381.          -    LH (list heading) must be the first element in an OL, UL,
  382.         or DL element.
  383.          -    OVERLAY first in a FIG
  384.          -    HEAD immediately follow HTML
  385.          -    BODY immediately follow /HTML
  386.          -    /HTML immediately follow /BODY
  387.     Added a couple'a test cases for these.
  388.  
  389.     *    Added a check for known warnings when enabling or disabling warnings.
  390.     The check is performed for `enable' and `disable' keywords in your
  391.     configuration file, and also for the -d and -e switches.
  392.     Suggested by Barry Bakalor <barry@hal.com>.
  393.  
  394.     *    Fixed the bug where weblint would complain about a comment
  395.     (claiming it was not a valid comment), if it was the last thing
  396.     in the file.
  397.  
  398.  
  399. 1.010
  400.  
  401.     11-july-1995 neilb
  402.  
  403.     *    Fixed a bug whereby the - option on the command-line (to specify
  404.     that weblint should read from standard input) did not work.
  405.  
  406. 1.009
  407.  
  408.     10-july-1995 neilb
  409.  
  410.     *    Some warnings started capitalized, some lower case.  Now consistently
  411.     lower case.  Pointed out by Larry W. Virden <lvirden@cas.org>
  412.  
  413.     9-july-1995 neilb
  414.  
  415.     *    Added a warning `repeated-attribute' which warns about an attribute
  416.     being repeated in the same tag.  For example:
  417.         <IMG SRC="foo.gif" SRC="bar.gif">
  418.     Contributed by Axel Boldt <axel@uni-paderborn.de>.
  419.  
  420.     *    Changed the format of the data in the __DATA__ section at the
  421.     end of weblint.  Rather than being a colon separated list,
  422.     each field appears on a line of its own.
  423.  
  424.     8-july-1995 neilb
  425.  
  426.     *    Added a warning `physical-font' which generates warnings if
  427.     you use any of the following physical font markup: <B>, <I>, or <TT>.
  428.     The warning message reminds the user of possible logical markup
  429.     to use instead.  The warning is disabled by default.
  430.     Suggested by Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>)
  431.  
  432.     *    Added more explicit context checks now that optional containers
  433.     are supported:
  434.  
  435.         Element        Appear in    Which appears in
  436.         --------    --------------    ----------------
  437.         TD, TH        TR        TABLE
  438.         ITEM        ROW        ARRAY
  439.  
  440.     *    Weblint now supports elements which are optional containers:
  441.         DD, DT, LI, P, ROW, TD, TH, TR
  442.  
  443.     *    Added an option to tell weblint to ignore symlinks when recursing
  444.     in a directory.  From the command-line:
  445.  
  446.         % weblint -l foo/
  447.  
  448.     or in your .weblintrc:
  449.  
  450.         ignore symlinks
  451.  
  452.     Added this to the weblintrc, but commented out by default.
  453.     Suggested by John F. Whitehead <jfw@wral-tv.com>.
  454.  
  455.     *    Got rid of the -R switch: if weblint is run on a directory, then
  456.     it will automatically recurse in the directory.  This means that
  457.     files and directories can be mixed on the command line; they couldn't
  458.     with previous versions of weblint.  Suggestion and code from
  459.     Axel Boldt <axel@uni-paderborn.de>
  460.  
  461.     *    Added a warning `illegal-closing', for unexpected use of a closing
  462.     tag.  For example: <IMG ...> ... </IMG>
  463.     Bug reported by David Begley <david@bacall.nepean.uws.edu.au>
  464.  
  465.     *    The man page didn't say that "weblint -" specifies that weblint
  466.     should read from standard input.
  467.     Noted by Stephen Fitzpatrick <S.Fitzpatrick@cs.qub.ac.uk>
  468.  
  469.     *    Now use newgetopt.pl rather than getopts.pl for command-line parsing,
  470.     since it supports long command-line switches.  Added the following
  471.     switches:
  472.  
  473.         New Switch    Same As        Function
  474.         ----------    -------        --------------------
  475.         -version    -v        display weblint version
  476.         -help        -U        display usage statement
  477.  
  478.     Turns out that newgetopt.pl is case-insensitive, so -todo *replaces*
  479.     the -T switch.
  480.  
  481.         New Switch    Replaces    Function
  482.         ----------    -------        --------------------
  483.         -todo        -T        display todo list
  484.         -stderr        -E        warnings to STDERR, not STDOUT
  485.  
  486.     *    Added a warning `unclosed-comment', which flags an unterminated
  487.     comment.  For example <!-- blah blah > is not a legal comment.
  488.     Previously weblint would hit this and suck in the rest of the file,
  489.     and then warn that it hadn't seen </BODY>, </HTML> etc.
  490.     Added test case to testsuite.
  491.     Reported by Laurent Demailly <dl@hplyot.obspm.fr>
  492.  
  493.     *    Changed &whine() to take the line number as the first argument,
  494.     rather than just assuming $. is the correct line number.  This
  495.     means that warnings can be given for the right line, with a little
  496.     work.
  497.     
  498.  
  499. 1.008
  500.  
  501.     4-july-1995 neilb
  502.  
  503.     *    Rewrote the man page with some custom macros to facilitate
  504.     generation of HTML version of the man page.
  505.  
  506.     *    Fixed a number of typos in the ChangeLog, weblintrc.
  507.     Added the "extension netscape" command to the weblintrc, commented
  508.     out by default.  Barry Bakalor <barry@hal.com>.
  509.  
  510.     *    Changed the version of tar used to create the distribution, since
  511.     some people were having problems extracting from the archive.
  512.     Thanks to Barry Bakalor and Anthony Thyssen for helping with this.
  513.  
  514.     2-july-1995 neilb
  515.  
  516.     *   Added CONTRIBUTIONS section at the end of the man page, listing
  517.     everyone who has contributed something to weblint.
  518.  
  519.     *   Weblint now exits with an exit status of 1 if any warnings were
  520.     given.  Suggestion and code from John Labovitz <johnl@ora.com>.
  521.  
  522.     *   Fixed bug where weblint wouldn't complain about nested FORM
  523.     elements.  Added test case to testsuite.
  524.  
  525.     *    Fixed bug where the following MATH elements were not recognized:
  526.         ITEM element, used within the ARRAY element
  527.         OVER, ATOP, CHOOSE, LEFT, and RIGHT tags, used with BOX
  528.     Added test case for MATH elements to testsuite.
  529.  
  530.     *    Added more context checks for HTML 3 elements:
  531.         -    OVERLAY must appear inside a FIG
  532.         -    TD, TH, and TR can only appear in a TABLE
  533.         -    ABOVE, BOX, BELOW, VEC, BAR, DOT, DDOT, HAT, TILDE, SQRT,
  534.         ROOT, OF, ARRAY, TEXT, T, and BT can only appear in MATH
  535.         -    LH must appear in OL, UL, or DL.
  536.     Added some context test cases to testsuite.
  537.  
  538.     *    Fixed the bug where the VALIGN attribute was not recognized for the
  539.     TD and TH elements of tables.  Bug report and fix from
  540.     David Begley <david@bacall.nepean.uws.edu.au>
  541.  
  542.     *    Changed a couple of the regular expressions to be associative
  543.     arrays, for a slight speedup.
  544.  
  545.     *    Added a `required-context' warning, which is a generalized case
  546.     of existing warnings such as `form-item'.  It specifies a required
  547.     context for an element, such as the ROOT element can only appear
  548.     in the MATH element.  The following warnings were removed:
  549.         form-item
  550.         select-option
  551.         defn-list-elements
  552.         list-item
  553.     Code contributed by Axel Boldt <axel@uni-paderborn.de>
  554.  
  555.     *    Added -i switch to specify that case should be ignored when checking
  556.     element tags.  This is equivalent to:
  557.         weblint -d lower-case -d upper-case
  558.     Suggested by Tom Neff <tneff@panix.com>
  559.  
  560.     *    Changed the wording of the `heading-order' warning to mention that
  561.     this is a "bad style" warning.
  562.  
  563.     *    More updates to the netscape support:
  564.         -    CELLSPACING attribute for TABLE
  565.         -    CELLPADDING attribute for TABLE
  566.         -    WIDTH attribute for TD and TH
  567.         -    TEXT, LINK, VLINK, and ALINK attributes for BODY
  568.  
  569.     29-june-1995 neilb
  570.  
  571.     *    Updated the testsuite so individual tests can specify flags which
  572.     should be added to the weblint command line, eg to enable the
  573.     netscape extensions.
  574.  
  575.     *    Added two test cases to check that netscape HTML extensions are
  576.     (only) correctly recognized when weblint is run with the netscape
  577.     extension enabled.
  578.  
  579.     *    Finally got around to making weblint accept the BLINK element
  580.     when the netscape extensions are enabled.
  581.     Noted by Bruce Speyer <bspeyer@texas-one.org>.
  582.  
  583.     *    Fixed bug where <> would confuse weblint, resulting in spurious
  584.     warnings.  Reported by Gil Citro, and others.  Added test case
  585.     to the testsuite.
  586.  
  587.     *    Fixed bug in netscape support where the WIDTH attribute was not
  588.     recognized for the HR element.
  589.  
  590.     *    Updated netscape support to include new attributes:
  591.         -    START attribute for OL
  592.         -    VALUE attribute for LI
  593.         -    BGCOLOR attribute for BODY
  594.     (noted by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  595.  
  596. 1.007
  597.  
  598.     26-june-1995 neilb
  599.  
  600.     *    Improved performance by adding /o modifier to appropriate regular
  601.     expression matches.  Weblint on a fairly complex table went from
  602.     ~8.9 seconds to ~1.9.  Suggested by Dana Jacobsen <dana@acm.org>.
  603.     Shame on me for not doing this in the first place!
  604.  
  605.     *    Fixed bug where the 'unknown-attribute' warning would never be
  606.     generated for unknown element attributes.  Added test case to
  607.     testsuite.  Bug reported by Dana Jacobsen <dana@acm.org>.
  608.  
  609.     *    Fixed bug in testsuite where user's .weblintrc could be configured
  610.     to make certain tests fail.  Now set WEBLINTRC = /dev/null, to
  611.     over-ride user's configuration.
  612.     Reported by Barry Bakalor <barry@hal.com>
  613.  
  614.     *    Fixed bug where the <B> element was not recognized.  Added a simple
  615.     test case to testsuite for the information type and font style
  616.     elements (B, I, TT, CODE, etc).
  617.  
  618. 1.006
  619.  
  620.     25-june-1995 neilb
  621.  
  622.     *    First cut at HTML 3 support.  All elements are supported, but not
  623.     all the right context checks are performed yet (for example, a
  624.     warning is not generated if you use something like <SQRT> outside of
  625.     a MATH element, or <TR> outside of a TABLE.
  626.  
  627.     *    If you don't have a TITLE element, but *do* have a HEAD element,
  628.     then you'll only get one warning now, instead of the previous two.
  629.  
  630.     *    Weblint no longer complains about not seeing the HTML element,
  631.     unless you enable the 'html-outer' warning (which is enabled by
  632.     default).  It used to generate an additional (unsuppressable)
  633.     warning about expected HTML tag not seen.
  634.     Reported by Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>.
  635.  
  636.     *    Fixed bug where obsolete elements generated warnings about unknown
  637.     tags, and never generated the `obsolete' warning.
  638.     Reported by Axel Boldt.
  639.  
  640.     *    Added -E switch, which specifies that warnings should be printed
  641.     to STDERR rather than STDOUT.
  642.  
  643.     24-june-1995 neilb
  644.  
  645.     *    Added a regression testsuite for weblint, in test.pl.  Run with:
  646.         % make test
  647.     The status of each test (pass/fail) is printed to STDERR, with a more
  648.     complete log written to weblint-test.log.
  649.  
  650.     *    Fixed bug in man page for `head-element' description.  It now says
  651.     that the warning is `enabled' by default, instead of `head-element',
  652.     which is what it said before.
  653.     Reported by Anthony Thyssen <anthony@cit.gu.edu.au>
  654.  
  655.     *    Fixed bug where enabling the netscape extensions would result in
  656.     VAR and NOBR not being recognized as legal.  Bug report and fix
  657.     from David J. MacKenzie <djm@va.pubnix.com>
  658.  
  659.     23-june-1995 neilb
  660.  
  661.     *    Added -t switch for terse output, to facilitate testing.
  662.     If -t is specified, warnings are reported as:
  663.         filename:line:id
  664.  
  665.     *    Fixed the bug where weblint would complain that the META element
  666.     was not allowed to appear in the HEAD element.  In fact that's
  667.     the only place it can appear :-)
  668.     Reported by Thomas Leavitt <leavitt@webcom.com> and others.
  669.  
  670.  
  671. 1.005
  672.  
  673.     21-nov-1994 neilb
  674.  
  675.     *    Fixed bug whereby unknown tags were always given as </...>,
  676.     whether they were opening or closing tags.
  677.     (reported by Larry Virden <lvirden@cas.org>)
  678.  
  679.     *    Changed the `bad-link' warning to be disabled by default, since
  680.     there is at least one situation in which it will generate bogus
  681.     warnings.
  682.  
  683.     20-nov-1994 neilb
  684.  
  685.     *    Giving the -R switch with no files/directories specified now
  686.     defaults to `.', the current directory.
  687.     (suggested by Barry Bakalor <barry@hal.com>)
  688.  
  689.     *    Fixed bug whereby required attributes were being checked on closing
  690.     tags as well as opening tags.
  691.     (reported by Barry Bakalor <barry@hal.com>)
  692.  
  693.     *    Fixed bugs in `bad-link' check for non-existent targets:
  694.         -    mailto:
  695.         -    news:
  696.         -    directories
  697.         -    absolute paths, eg cgi-scripts (HREF="/cgi-bin/foo")
  698.     (reported by Barry Bakalor <barry@hal.com>)
  699.  
  700.     *    Fixed typos in weblintrc.
  701.     (reported by Barry Bakalor <barry@hal.com>)
  702.  
  703. 1.004
  704.  
  705.     19-nov-1994 neilb
  706.  
  707.     *    Added an Announce file to distribution, which contains verbose
  708.     announcement for the current version, listing all new warnings and
  709.     their identifiers.
  710.  
  711.     *    First attempt at check for potentially unclosed elements ---
  712.     checking for:
  713.         < ... < ... >
  714.     for example:
  715.         <A HREF="..." anchor text</A>
  716.     Warning has identifier `unexpected-open'.  This might not catch all
  717.     cases at the moment, since I didn't want it to generate bogus warnings
  718.     where < appears in an attribute value (eg ALT="<-").
  719.  
  720.     *    Changed the 'expected-attribute' identifier to 'required-attribute',
  721.     and added a warning with identifier 'expected-attribute'.  This is
  722.     for elements which have no *required* attributes, but for which you
  723.     expect to see at least one attribute, such as anchors.
  724.  
  725.     *    Added a Makefile, with targets for install, preview, tar, clean,
  726.     and a postscript version of the man page.
  727.     (suggested by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  728.  
  729.     18-nov-1994 neilb
  730.  
  731.     *    Added support for `proposed' items: REL and REV attributes of anchors,
  732.     META, DFN, STRIKE, and U.
  733.     (noted by Robert Schmunk <pcrxs@nasagiss.giss.nasa.gov>)
  734.  
  735.     17-nov-1994 neilb
  736.  
  737.     *    Added a check for relative local links, to generate a warning if
  738.     the target does not exist.  Warning identifier: bad-link
  739.  
  740.     *    Added -d and -e switches to enable and disable warnings.
  741.     The argument can be one or more warning identifiers, with multiple
  742.     identifiers separated with commas.  For example:
  743.         weblint -e upper-case foo.html
  744.     A pseudo identifier `mixed-case' is now supported:
  745.         weblint -e mixed-case foo.html
  746.     Turns off upper-case and lower-case checking.
  747.  
  748.     *    Warning added for heading which is more than one level deeper than
  749.     the most recent heading.  I.e.  <H1> followed by <H3> results in
  750.     warning, with identifier 'heading-order'.
  751.     (suggested by Bill Arnett <billa@netcom.com>)
  752.  
  753.     16-nov-1994 neilb
  754.  
  755.     *    Changed the extension switch from -e to -x, so that -e and -d
  756.     can be used for enable/disable warning(s).
  757.  
  758.     15-nov-1994 neilb
  759.  
  760.     *    Added a check for an odd number of quotes in an element, so the
  761.     following now generates a warning:
  762.         <A HREF="http://www.foobar.com/>
  763.  
  764.     14-nov-1994 neilb
  765.  
  766.     *    If an element is not recognized, then any element attributes are
  767.     not checked for validity.
  768.     (suggested by Victor Parada <vparada@inf.utfsm.cl>)
  769.  
  770.     *    All keywords in the configuration file can now take multiple
  771.     arguments.  I.e., you can enable multiple warnings with:
  772.         enable mailto-link upper-case
  773.  
  774.     *    The illegal element check wasn't being performed on closing
  775.     tags, so </XYZ> wouldn't generate a warning.
  776.     (reported by Victor Parada <vparada@inf.utfsm.cl>)
  777.  
  778.     *    Added a sample configuration file `weblintrc', with
  779.     comments describing everything which can be configured.
  780.     Configuration matches the built-in defaults.
  781.  
  782.     *    Use of <!doctype ...> would generate a bunch of bogus whines.
  783.     (reported by several people :-)
  784.  
  785. 1.003
  786.  
  787.     11-nov-1994 neilb
  788.  
  789.     *    Added support for HTML extensions.  Currently only the
  790.     netscape extensions are supported, either by:
  791.  
  792.         weblint -e netscape ....
  793.  
  794.     or, in your .weblintrc:
  795.  
  796.         # enable the netscape HTML extensions
  797.         extension netscape
  798.  
  799.     Weblint will not complain that <CENTER> is an unknown element,
  800.     and also knows about the additional element attributes.
  801.  
  802.     *    Fixed the bug in the -R code whereby it would get confused
  803.     about where it was.
  804.     (reported by Victor Parada <vparada@inf.utfsm.cl>, and
  805.     Bob Friesenhahn <bfriesen@simple.dallas.tx.us>)
  806.  
  807.     *    Removed the generic context check added on 6-nov-1994.
  808.     I need to learn more about implied context before this is
  809.     added back in.  It currently whines about *everything* :-(
  810.  
  811.     6-nov-1994 neilb
  812.  
  813.     *    Generalized the context checks;  they are now table driven,
  814.     and based on the HTML spec.  Warning identifier is
  815.     `illegal-context'.
  816.  
  817.     5-nov-1994 neilb
  818.  
  819.     *    Made the usage slightly more verbose, giving example usage.
  820.     (suggested by Douglas Brick <dbrick@u.washington.edu>)
  821.  
  822.     *    Added a check for illegal elements, with warning identifier
  823.     of 'unknown-element', enabled by default.  So
  824.         <¥PRE> and <CENTER>
  825.     will generate this warning.  (suggested by Joerg Heitkoetter
  826.     <Joerg.Heitkoetter¥@germany.eu.net>)
  827.  
  828.     *    For non-nestable elements (such as anchors), the warning
  829.     now gives the line number of the still open element.
  830.  
  831.     *    Weblint now correctly recognizes SGML comments where there
  832.     is whitespace between the -- and > closing the comment. Eg:
  833.         <!-- this is a valid comment --   >
  834.     (reported by Paul Black <black@lal.cs.byu.edu>)
  835.  
  836.     3-nov-1994 neilb
  837.  
  838.     *    Removed the warning with identifier 'tag-args':
  839.         expected argument for tag <...>.
  840.     and replaced it with a general check for required attributes,
  841.     with identifier 'expected-attribute':
  842.         sample.html(9): SRC attribute is required for <IMG>.
  843.  
  844.     *    Added a -s command-line switch, for short warnings.  Short
  845.     warnings do not include the filename:
  846.         line 5: no <TITLE> in HEAD element.
  847.     (suggested by Clay Webster <clay@unipress.com>)
  848.  
  849.     *    Added a check and warning (identifier: leading-whitespace)
  850.     for whitespace between < and tag name, for example:
  851.         < TITLE>
  852.     will generate warning:
  853.         Should not have whitespace between "<" and "TITLE>".
  854.  
  855.     *    The usage statement is now printed if weblint is invoked
  856.     without any command-line arguments.
  857.  
  858.     *    Fixed bug whereby
  859.         <IMG SRC="foo.gif" ISMAP ALT="alt text">
  860.     would generate a warning that element had no ALT text.
  861.  
  862.     *    Added a check for legal attributes.  So the following
  863.         <A HROF="...">
  864.     generates a warning:
  865.         Unknown attribute "HROF" for element <A>.
  866.     with warning identifier of 'unknown-attribute'.
  867.  
  868.     *    Messages are now written to STDOUT rather than STDERR.
  869.  
  870. 1.002
  871.  
  872.     2-nov-1994 neilb
  873.  
  874.     *    Now correctly (or more correctly at least) recognizes SGML
  875.     comments, and doesn't get confused by markup embedded in
  876.     comments.  Added a new warning for markup embedded in a
  877.     comment, since this confuses some browsers.  The warning,
  878.     with identifier 'markup-in-comment', is enabled by default.
  879.  
  880.     *    Modified the checks on element closing tags </...>,
  881.     performed for </HEAD>, </BODY> and </HTML> -- the following
  882.     used to generate a bogus warning that no </UL> was seen:
  883.  
  884.         <HTML><HEAD><TITLE>sample</TITLE></HEAD><BODY>
  885.         <UL>
  886.         <LI><I>unclosed italic
  887.         </UL>
  888.         </BODY></HTML>
  889.  
  890.     *    Slight re-arrangement of man page sections, to follow
  891.     traditional UNIX conventions (reported by Joerg Heitkoetter
  892.     <Joerg.Heitkoetter@germany.eu.net>)
  893.  
  894.     *    No longer complains if you have more than one ADDRESS
  895.     element on a page.
  896.  
  897.     1-nov-1994 neilb
  898.  
  899.     *    added a -R switch, which is used to recurse down directories,
  900.     checking any files found with a file extension of .html or
  901.     .htm; for example:
  902.         weblint -R .
  903.     Weblint now depends on find.pl from the standard perl library.
  904.     (suggested by Thomas Leavitt <leavitt@webcom.com>)
  905.  
  906.     *    changed logic of the check for elements which can and can't
  907.     appear in the HEAD element.  Weblint previously complained
  908.     that ISINDEX could only appear in the HEAD, which was not
  909.     true (reported by Victor Parada <vparada@inf.utfsm.cl>)
  910.  
  911.     29-oct-1994 neilb
  912.  
  913.     *    attributes were not being seen in multi-line tags if they
  914.     appeared after the first newline.  Eg:
  915.         <IMG SRC="foo.gif"
  916.         ALT="alt text>
  917.     generated a warning that the IMG had no ALT text.
  918.     (reported by Barry Bakalor <barry@hal.com>)
  919.  
  920.     *    Now handles whitespace around the = of tag attributes.
  921.     The following used to generate a warning:
  922.         <IMG SRC = "foo.gif" ALT="alt text>
  923.     (reported by Barry Bakalor <barry@hal.com>)
  924.  
  925.     *    No longer complains about comments in the HEAD element.
  926.     (reported by Douglas Brick <dbrick@u.washington.edu>)
  927.  
  928.     *    Certain variables were not declared local to the WebLint()
  929.     function, which meant that when weblint'ing more than one
  930.     file on the command-line, some state variables would roll
  931.     over to the next file, causing bogus warnings.
  932.     (reported by Barry Bakalor <barry@hal.com>)
  933.  
  934.     *    Now handles case where a tag attribute does not have
  935.     a value (attribute = value), as is the case with ISMAP.
  936.     Weblint was getting confused over things like:
  937.         <IMG SRC="foo.gif" ISMAP ALT="alt text">
  938.     and complaining that the IMG had no ALT text.
  939.     (reported by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
  940.  
  941.     *    If you give `-' as a filename, weblint will read from
  942.     standard input.  Warnings will be given for `stdin'.
  943.     (suggested by Ryan Waldron <rew@nuance.com>)
  944.  
  945.  
  946. 1.001
  947.  
  948.     24-oct-1994 neilb
  949.  
  950.     *    Added a man page (initial man page supplied by
  951.     Juergen Schoenwaelder <schoenw@ibr.cs.tu-bs.de>)
  952.  
  953.     *    Added a check for FORM elements:
  954.       - INPUT, SELECT, and TEXTAREA must appear in a FORM.
  955.       - OPTION must be within a SELECT element.
  956.  
  957.     *    Added code which checks for overlapped elements.  E.g.:
  958.         <H1> ... <A HREF="foobar"> ... </H1> </A>
  959.     This now results in one warning rather than six :-)
  960.     Multiply overlapped elements (more than two) don't always
  961.     generated the `correct' number of warnings, but you should
  962.     get at least one :-)
  963.  
  964.     *    Improved check for unclosed elements.  Following example
  965.     now generates one warning, instead of the multitude
  966.     generated by weblint 1.0:
  967.         <HTML><HEAD><TITLE>...</TITLE></HEAD>
  968.         <BODY> <B> unclosed bold element
  969.         </BODY></HTML>
  970.  
  971.     23-oct-1994 neilb
  972.  
  973.     *    fixed the whine generated if you have a <!DOCTYPE ...>
  974.     at the start of your page.
  975.  
  976.     *    added support for a configuration file.  WEBLINTRC,
  977.     or $HOME/.weblintrc.  Changed the whine() function to use
  978.     warning identifiers.  Defined whines, with identifiers,
  979.     and default enabling are stored beyond the end of the script.
  980.     Can enable or disable warnings in your .weblintrc.
  981.  
  982.     *    added check for illegally nested elements (eg anchors).
  983.  
  984.     *    additional check for items which should not appear in HEAD.
  985.  
  986.     *    check that <DT> and <DD> appear in a definition list (DL).
  987.  
  988.     *    added COMMENT to list of obsolete elements.
  989.  
  990.     *    added check for elements which must be in a FORM element.
  991.  
  992.     *    added check for <LINK REV=MADE HREF="mailto:...">,
  993.     which is not enabled by default.
  994.  
  995.     21-oct-1994 neilb
  996.  
  997.     *    added check for LI, that it appears within DIR, MENU,
  998.     OL or UL elements
  999.  
  1000.     *    Fixed bug whereby weblint wasn't seeing tags with
  1001.     embedded newlines.  Eg:
  1002.         <A
  1003.         HREF="...."
  1004.         >
  1005.  
  1006.     20-oct-1994 neilb
  1007.  
  1008.     *    fixed bug in the code which keeps track of currently `open'
  1009.     elements.  It was getting confused on line numbers.
  1010.     (reported by Barry Bakalor <barry@hal.com>)
  1011.  
  1012.     *    checks at end of file for unclosed elements were giving
  1013.     message:
  1014.         tag <...> has no matching </HTML>.
  1015.     rather than correct closing tag.
  1016.     (reported by Barry Bakalor <barry@hal.com>)
  1017.  
  1018.  
  1019. 1.000
  1020.  
  1021.     First version made publically available.
  1022.  
  1023.